v-yacc:
	ocamlyacc -v parser.mly

yacc:
	ocamlyacc parser.mly

lex:
	ocamllex lexer.mll

check:
	ocaml -init check.ml

v-all: v-yacc lex
	ocamlc -c ast.ml types.ml parser.mli parser.ml lexer.mli lexer.ml
	
all: yacc lex
	ocamlc -o lazyML ast.ml types.ml parser.mli parser.ml lexer.mli lexer.ml compiler.ml interpreter.ml container.ml

make start: all
	ocamlrun lazyML
	
clean:
	rm -f lexer.ml parser.mli parser.ml
	rm -f *.cmi *.cmo
	rm -f parser.output